﻿using LimaLims.Application.Service.Basic.Dto;
using LimaLims.Core.Entity.Basic;
using LimaLims.Core;
using Microsoft.AspNetCore.Mvc;
using LimaLims.Application.Service.TestCenter.Dto;
using LimaLims.Core.Entity.TestCenter;

namespace LimaLims.Application.Service.TestCenter
{
    /// <summary>
    /// 试验计划接口定义
    /// </summary>
    public interface IExperimentPlanService
    {
        Task Add(AddExperimentPlanInput input);

        Task Edit(EditExperimentPlanInput input);

        Task Delete(long id);

        /// <summary>
        /// 生成任务
        /// </summary>
        Task Generate(long id);
        /// <summary>
        /// 作废
        /// </summary>
        Task Cancel(long id);

        Task<ExperimentPlanDetail> Detail(long id);

        Task<PageResult<ExperimentPlanOutput>> QueryPage([FromQuery] ExperimentPlanPageInput input);
    }
}
